package com.cloudbroker.bcs.csvc.uf30.facade.service;

import static com.cloudbroker.bcs.csvc.uf30.api.constants.UF30T2FunctionIds.LS_FUNDMGRPER_ORGTRANSSTATUS_QRY;
import static com.cloudbroker.bcs.csvc.uf30.api.constants.UF30T2FunctionIds.LS_FUNDMGRPER_OUTCASH_PAY;
import static com.cloudbroker.bcs.csvc.uf30.api.constants.UF30T2FunctionIds.LS_FUNDMGRPER_PAYBKTRANSFER_QRY;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.cloudbroker.bcs.csvc.uf30.api.service.FundService;
import com.cloudbroker.bcs.csvc.uf30.api.vo.request.OrgTransStatusQryForm;
import com.cloudbroker.bcs.csvc.uf30.api.vo.request.OutcashPayForm;
import com.cloudbroker.bcs.csvc.uf30.api.vo.request.PaybkTransferQryForm;
import com.cloudbroker.bcs.csvc.uf30.api.vo.response.OrgTransStatusQryBackVo;
import com.cloudbroker.bcs.csvc.uf30.api.vo.response.PaybkTransferQryBackVo;
import com.cloudbroker.bcs.csvc.uf30.api.vo.response.TransIdBackVo;

/**
 * Created by xuyn15828 on 2016/3/21.
 */
@Service
public class FundServiceFacade implements FundService {
    @Resource
    private UF30T2RemoteService service;

    @Override
    public OrgTransStatusQryBackVo orgTransStatusQry(OrgTransStatusQryForm param) {
        return service.callT2(LS_FUNDMGRPER_ORGTRANSSTATUS_QRY , param , OrgTransStatusQryBackVo.class);
    }

    @Override
    public PaybkTransferQryBackVo payBkTransferQry(PaybkTransferQryForm param) {
        return service.callT2(LS_FUNDMGRPER_PAYBKTRANSFER_QRY , param , PaybkTransferQryBackVo.class);
    }

    @Override
    public TransIdBackVo outcashPay(OutcashPayForm param) {
        return service.callT2(LS_FUNDMGRPER_OUTCASH_PAY , param , TransIdBackVo.class);
    }
}
